package com.project_doctor.pojo.dto;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 *
 * 综合搜索条件 *DTO*
 *
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ContractQueryDTO {
    // 查询条件（对应ContractVO的字段）
    private Integer id;                 // 主键id
    private Integer residentId;         // 居民id
    private String name;                // 居民姓名
    private String idCard;              // 居民身份证
    private String phone;               // 居民电话
    private String contractStatus;              // 状态
    private String teamName;            // 团队名称
    private String packageName;         // 服务包名称
    private String doctor;              // 医生名称
    private Date effectiveDate;         // 生效时间
    private Date applyTime;             // 申请时间
    private Date expireDate;            // 到期时间
    
    // 前端筛选条件字段（与前端字段名保持一致）
    private Integer institutionID;      // 签约机构ID
    private Integer serviceDoctor;      // 医生团队ID
    private Integer serviceItem;        // 服务包ID
    private String[] date;              // 日期范围数组
    
    // 额外的查询条件
    private String keyword;             // 关键字搜索
    private Date startDate;             // 开始时间（用于时间范围查询）
    private Date endDate;               // 结束时间（用于时间范围查询）

    // 基础查询参数
    private List<Integer> excludeStatusList; // 新增：需要排除的状态列表
    // 时间范围
    private Date startTime;     // 申请开始时间
    private Date endTime;       // 申请结束时间
    // 服务相关
    private String packageId;        // 服务包ID
    private String status;        // 服务状态
    private String institution;        //机构
    private String team;        //团队
    private String packageInfo;        //服务包
} 